home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / misc_pto / mouseref / mouse.ref
Text File  |  1988-11-20  |  7KB  |  167 lines

  1. Message #3873 "8088-80286-80386"
  2. Date: 21-Apr-88 13:06
  3. From: Mike Strock
  4. To:   All
  5. Subj: Mouse INT 33h
  6.  
  7.   -----------------------------------------------------------
  8.   INT 33 - MS MOUSE - RESET DRIVER AND READ STATUS
  9.           AX = 0000h
  10.   Return: AX = status
  11.               0  hardware/driver not installed
  12.               -1 hardware/driver installed
  13.           BX = number of buttons
  14.               -1 two buttons
  15.               0  other than two
  16.   -----------------------------------------------------------
  17.   INT 33 - MS MOUSE - SHOW MOUSE CURSOR
  18.           AX = 0001h
  19.   -----------------------------------------------------------
  20.   INT 33 - MS MOUSE - HIDE MOUSE CURSOR
  21.           AX = 0002h
  22.   Note: multiple calls to hide the cursor will require multiple calls to
  23.         function 01h to unhide it.
  24.   -----------------------------------------------------------
  25.   INT 33 - MS MOUSE - RETURN POSITION AND BUTTON STATUS
  26.           AX = 0003h
  27.   Return: BX = button status
  28.              bit 0  left button pressed if 1
  29.              bit 1  right button pressed if 1
  30.           CX = column
  31.           DX = row
  32.   -----------------------------------------------------------
  33.   INT 33 - MS MOUSE - POSITION MOUSE CURSOR
  34.           AX = 0004h
  35.           CX = column
  36.           DX = row
  37.   -----------------------------------------------------------
  38.   INT 33 - MS MOUSE - RETURN BUTTON PRESS DATA
  39.           AX = 0005h
  40.           BX = button
  41.               0 left
  42.               1 right
  43.   Return: AX = button states
  44.               bit 0 left button pressed if 1
  45.               bit 1 right button pressed if 1
  46.           BX = number of times specified button has been pressed since last call
  47.           CX = column at time specified button was last pressed
  48.           DX = row at time specified button was last pressed
  49.  
  50.  
  51.   -----------------------------------------------------------
  52.   INT 33 - MS MOUSE - RETURN BUTTON RELEASE DATA
  53.           AX = 0006h
  54.           BX = button
  55.               0 left
  56.               1 right
  57.   Return: AX = button states
  58.               bit 0 left button pressed if 1
  59.               bit 1 right button pressed if 1
  60.           BX = number of times specified button has been released since last call
  61.            
  62.           CX = column at time specified button was last released
  63.           DX = row at time specified button was last released
  64.   -----------------------------------------------------------
  65.   INT 33 - MS MOUSE - DEFINE HORIZONTAL CURSOR RANGE
  66.           AX = 0007h
  67.           CX = minimum column
  68.           DX = maximum column
  69.   -----------------------------------------------------------
  70.   INT 33 - MS MOUSE - DEFINE VERTICAL CURSOR RANGE
  71.           AX = 0008h
  72.           CX = minimum row
  73.           DX = maximum row
  74.   -----------------------------------------------------------
  75.   INT 33 - MS MOUSE - DEFINE GRAPHICS CURSOR
  76.           AX = 0009h
  77.           BX = column of cursor hot spot in bitmap
  78.           CX = row of cursor hot spot
  79.           ES:DX = pointer to bitmap
  80.                   16 words, each defining the sixteen pixels of a row
  81.                   low bit of each word is rightmost in row
  82.   -----------------------------------------------------------
  83.   INT 33 - MS MOUSE - DEFINE TEXT CURSOR
  84.           AX = 000Ah
  85.           BX = hardware/software text cursor
  86.               0 software
  87.                   CX = screen mask
  88.                   DX = cursor mask
  89.               1 hardware
  90.                   CX = start scan line
  91.                   DX = end scan line
  92.   Note: when the software cursor is selected, the char/attribute data at the
  93.         current screen position is ANDed with the screen mask and then XORed
  94.         with the cursor mask
  95.   -----------------------------------------------------------
  96.   INT 33 - MS MOUSE - READ MOTION COUNTERS
  97.           AX = 000Bh
  98.   Return: CX = number of mickeys mouse moved horizontally since last call
  99.           DX = number of mickeys mouse moved vertically
  100.   Notes: a mickey is the smallest increment the mouse can sense
  101.          positive values indicate up/right
  102.   -----------------------------------------------------------
  103.   INT 33 - MS MOUSE - DEFINE INTERRUPT SUBROUTINE PARAMETERS
  104.           AX = 000Ch
  105.           CX = call mask
  106.                bit 0 call if mouse moves
  107.                bit 1 call if left button pressed
  108.                bit 2 call if left button released
  109.                bit 3 call if right button pressed
  110.                bit 4 call if right button released
  111.           ES:DX = address of FAR routine
  112.   Note: when the subroutine is called, it is passed the following values:
  113.           AX = condition mask (same bit assignments as call mask)
  114.           BX = button state
  115.           CX = cursor column
  116.           DX = cursor row
  117.           DI = horizontal mickey count
  118.           SI = vertical mickey count
  119.   -----------------------------------------------------------
  120.   INT 33 - MS MOUSE - LIGHT PEN EMULATION ON
  121.           AX = 000Dh
  122.   -----------------------------------------------------------
  123.   INT 33 - MS MOUSE - LIGHT PEN EMULATION OFF
  124.           AX = 000Eh
  125.   -----------------------------------------------------------
  126.   INT 33 - MS MOUSE - DEFINE MICKEY/PIXEL RATIO
  127.           AX = 000Fh
  128.           CX = number of mickeys per 8 pixels horizontally
  129.           DX = number of mickeys per 8 pixels vertically
  130.   -----------------------------------------------------------
  131.   INT 33 - MS MOUSE - DEFINE SCREEN REGION FOR UPDATING
  132.           AX = 0010h
  133.           ???
  134.   -----------------------------------------------------------
  135.   INT 33 - MS MOUSE - DEFINE DOUBLE-SPEED THRESHOLD
  136.           AX = 0013h
  137.           ???
  138.   -----------------------------------------------------------
  139.   INT 33 - MS MOUSE - EXCHANGE INTERRUPT SUBROUTINES
  140.           AX = 0014h
  141.           ???
  142.   -----------------------------------------------------------
  143.   INT 33 - MS MOUSE - RETURN DRIVER STORAGE REQUIREMENTS
  144.           AX = 0015h
  145.   Return: BX = size of buffer needed to store driver state
  146.   -----------------------------------------------------------
  147.   INT 33 - MS MOUSE - SAVE DRIVER STATE
  148.           AX = 0016h
  149.           ES:DX = pointer to buffer
  150.   -----------------------------------------------------------
  151.   INT 33 - MS MOUSE - RESTORE DRIVER STATE
  152.           AX = 0017h
  153.           ES:DX = pointer to buffer containing saved state
  154.   -----------------------------------------------------------
  155.   INT 33 - MS MOUSE - DEFINE DISPLAY PAGE NUMBER
  156.           AX = 001Dh
  157.           ???
  158.   -----------------------------------------------------------
  159.   INT 33 - MS MOUSE - RETURN DISPLAY PAGE NUMBER
  160.           AX = 001Eh
  161.   Return: ???
  162.   Extracted from RALF BROWN'S excellent INTERRUPT LISTING (4/88 version)
  163.  
  164.  ---
  165.   * Origin: Blue Star (206)285-3731 (C and Assy Programming) (Opus 1:343/22)
  166.  ---
  167.